package com.itheima.d2_Collection_update_delete;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 研究集合遍历删除可能出现的问题
 */
public class test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("赵");
        list.add("钱");
        list.add("钱");
        list.add("孙");
        list.add("李");
        System.out.println(list);

        //删除所有的"钱"
        //1.迭代器删除
        Iterator<String> iterator = list.iterator();
//        while (iterator.hasNext()){
//            String ele = iterator.next();
//            if(ele.equals("钱")){
//                //list.remove("java");//会报错
//                iterator.remove();//删除当前元素，并且不会后移
//            }
//        }
//        System.out.println(list);

        //2.foreach---->会报错，无法解决

        //3.Lambda---->会报错，无法解决

        //4.for
//        for (int i = 0; i < list.size(); i++) {//这种方式不能完全删除
//            String ele = list.get(i);
//            if (ele.equals("钱")){
//                list.remove("钱");
//            }
//        }
        for (int i = list.size() - 1; i >= 0; i--) {
            String ele = list.get(i);
            if (ele.equals("钱")){
                list.remove("钱");
            }
        }
        System.out.println(list);
    }
}
